#pragma once

#include <string>
#include <numeric>
#include <iterator>

template <class Strings>
inline std::string JoinStrings(Strings strs, std::string delimiter) {
  auto it = strs.begin();
  if (it == strs.end()) {
    return "";
  }

  auto next_it = std::next(it);
  return std::accumulate(next_it, strs.end(), *it, [&](std::string x, std::string y) { return x + delimiter + y; });
}

